home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection Student Program / ADC Tools Sampler CD Disk 3 1999.iso / Documentation / Books / Learn Java on the Macintosh / Learn Java Projects / 13.03 - exception / ExceptionApplet.java < prev    next >
Text File  |  1996-04-22  |  2KB  |  72 lines

  1. /* -------------------------------------------------------------
  2. This applet creates circles using different constructors. One
  3. of these constructors throws an exception.
  4.  
  5. Java's classes: Applet    (applet)
  6.                 System    (lang)   
  7.                 Exception (lang)
  8.  
  9. Custom classes: Constructor
  10.                 Circle          
  11.                 ImaginaryCircleException   
  12.  
  13. ------------------------------------------------------------- */
  14.  
  15. import java.applet.Applet;
  16.  
  17. public class ExceptionApplet extends Applet {
  18.    public void init() {
  19.       Circle c1, c2, c3, c4;
  20.       
  21.       c1 = new Circle();
  22.       
  23.       try {
  24.          c2 = new Circle(20);
  25.       } catch (ImaginaryCircleException e) {
  26.          System.out.println("Exception with radius 20");
  27.          c2 = new Circle();
  28.       }
  29.       
  30.       try {
  31.          c3 = new Circle(-20);
  32.       } catch (ImaginaryCircleException e) {
  33.          System.out.println("Exception with radius -20");
  34.          c3 = new Circle();
  35.       }
  36.  
  37.       c4 = new Circle(c2);
  38.       
  39.       c1.displayInfo();
  40.       c2.displayInfo();
  41.       c3.displayInfo();
  42.       c4.displayInfo();
  43.    }  
  44. }
  45.  
  46. class Circle {
  47.    static int defaultRadius = 10;
  48.    int radius;
  49.    
  50.    Circle() {
  51.       radius = defaultRadius;
  52.    }
  53.    
  54.    Circle(int radius) throws ImaginaryCircleException {
  55.       if (radius < 0) 
  56.          throw new ImaginaryCircleException();
  57.       else
  58.          this.radius = radius;
  59.    }
  60.    
  61.    Circle(Circle referenceCircle) {
  62.       this.radius = referenceCircle.radius;
  63.    }
  64.  
  65.    void displayInfo() {
  66.       System.out.println("This circle's radius is " + radius);
  67.    }
  68. }
  69.  
  70. class ImaginaryCircleException extends Exception {
  71. }
  72.